home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / nihcl-30.lha / nihcl-3.0 / ex / ex13-3.c < prev    next >
C/C++ Source or Header  |  1990-05-15  |  634b  |  31 lines

  1. // ex13-3.c -- Virtual functions and multiple inheritance
  2.  
  3. // $Header: /afs/alw.nih.gov/unix/sun4_40c/usr/local/src/nihcl-3.0/share/ex/RCS/ex13-3.c,v 3.0 90/05/15 22:44:39 kgorlen Rel $
  4.  
  5. #include <iostream.h>
  6.  
  7. class A {
  8. public:
  9.     virtual void f()    { cout << "A::f()" << endl; }
  10. };
  11.  
  12. class B {
  13. public:
  14.     virtual void f()    { cout << "B::f()" << endl; }
  15. };
  16.  
  17. class C: public A, public B {
  18. public:
  19.     virtual void f()    { cout << "C::f()" << endl; }
  20. };
  21.  
  22. main()
  23. {
  24.     A* pa = new C;
  25.     B* pb = new C;
  26.     C* pc = new C;
  27.     pa->f();        // calls C::f()
  28.     pb->f();        // calls C::f()
  29.     pc->f();        // calls C::f()
  30. }
  31.